package com.tangqiang.thread;

/**
 * TODO
 *
 * @author Tom
 * @version 1.0 2018-02-01 0001 Tom create
 * @date 2018-02-01 0001
 * @copyright Copyright © 2018 Grgbanking All rights reserved.
 */
public class

TestSync2

        implements

        Runnable {

    int
            b =
            100;

    public

    static void
    main(
            String
                    [] args)
            throws

            InterruptedException {

        TestSync2
                tt =
                new

                        TestSync2
                        ();

        Thread
                t =
                new

                        Thread
                        (tt);
//1
        t.start();
//2
        tt.m2();
//3

        System
                .
                        out
                .println(
                        "main thread b="
                                + tt.b);
//4
    }

    synchronized void
    m1()
            throws

            InterruptedException {
        b =
                1000
        ;

        Thread
                .sleep(
                        500
                );
//6

        System
                .
                        out
                .println(
                        "b="
                                + b);
    }

    synchronized void
    m2()
            throws

            InterruptedException {

        Thread
                .sleep(
                        250
                );
//5
        b = 2000
        ;
    }

    @Override

    public void
    run() {

        try {
            m1();
        } catch
                (
                InterruptedException
                        e) {
            e.printStackTrace();
        }
    }
}